[t:/]$ 지식_

가우시안 랜덤 생성하기. gcc와 SIMD이용

2017/03/23

rand 함수는 정수의 발생 확률이 같다. 유니폼 분포 = 균질 분포

정수라서 써먹기 힘드니까 /RAND_MAX 하면 실수가 된다.

여전히 균질분포다.

2.0 * (float)rand() / (float)RAND_MAX - 1.0을 하면 어떻게 될까?

역시 균질분포지만 -1.0 ~ 1.0 사이의 써먹을 수 있는 값이 됐다.

srand(0)을 쓰면 어찌되나. 당연히 랜덤 값은 항상 같은 순서라면 값은 값이 나온다.

가우시안 분포의 랜덤은 없다. 없어. 없다고. gcc는 매트랩이나 싸이킷이 아니다.

SIMD를 활용하여 고속으로 만들어주는 예제가 있다.

http://stackoverflow.com/questions/5287009/gaussian-random-number-generator

복소평면이 나와서 당황스러운데.. 그냥 u는 평균, v는 분산이다.

오늘의 리빙 포인트 : 가우시안 분포의 테스트 데이터는 그냥 싸이킷을 씁시다.





공유하기













[t:/] is not "technology - root". dawnsea, rss